We have already used the routine info display in the first part of this tutorial. This was the invoked using C-c ?, and displays information about the IDL routine near the cursor position. Wouldn't it be nice to have the same kind of information available for your own routines and for the huge amount of code in major libraries like JHUPL or the IDL-Astro library? In many cases, you may already have this information. Files named .idlwave_catalog in library directories contain scanned information on the routines in that directory; many popular libraries ship with these “library catalogs” pre-scanned. Users can scan their own routines in one of two ways: either using the supplied tool to scan directories and build their own .idlwave_catalog files, or using the built-in method to create a single “user catalog”, which we'll show here. See Catalogs, for more information on choosing which method to use.
To build a user catalog, select Routine Info/Select
Catalog Directories from the IDLWAVE entry in the menu
bar. If necessary, start the shell first with C-c C-s
(see Starting the
Shell). IDLWAVE will find out about the IDL
!PATH variable and offer a list of directories on
the path. Simply select them all (or whichever you want —
directories with existing library catalogs will not be selected
by default) and click on the ‘Scan&Save’ button. Then go for a
cup of coffee while IDLWAVE collects information for each and
every IDL routine on your search path. All this information is
written to the file .idlwave/idlusercat.el in your home
directory and will from now on automatically load whenever you
use IDLWAVE. You may find it necessary to rebuild the catalog on
occasion as your local libraries change, or build a library
catalog for those directories instead. Invoke routine info
(C-c ?) or completion (M-<TAB>) on
any routine or partial routine name you know to be located in the
library. E.g., if you have scanned the IDL-Astro library:
a=readf<M-<TAB>>
expands to `readfits('. Then try
a=readfits(<C-c ?>
and you get:
Usage: Result = READFITS(filename, header, heap)
...
I hope you made it until here. Now you are set to work with
IDLWAVE. On the way you will want to change other things, and to
learn more about the possibilities not discussed in this short
tutorial. Read the manual, look at the documentation strings of
interesting variables (with C-h v
idlwave<-variable-name> <RET>) and ask the
remaining questions on the newsgroup
comp.lang.idl-pvwave.